saveRDS(analysed_data, file = "analysed_data.rds")

Set Working Directory, Load Config and Source Files

    source(file = "map")
Ostrzeżenie: cannot open file 'map': No such file or directoryError in file(filename, "r", encoding = encoding) : 
  cannot open the connection

Try to load data from file, if not available, download and prepare data

    if (file.exists("analysed_data.rds")) {
        analysed_data <- readRDS("analysed_data.rds")
    } else {
        preselected_data    <- preselect_data();
        prepared_data       <- download_and_prepare_data(preselected_data)
        best_forecast_model <- estimate_best_forecast_model(prepared_data)
        analysed_data       <- forecast_data(prepared_data, best_forecast_model)
        saveRDS(analysed_data, file = "analysed_data.rds")
    }

Try to load plots from file, if not available, create plots

    if (file.exists("plots.rds")) {
        plots <- readRDS("plots.rds")
    } else {
        plots <- create_plots(analysed_data)
        saveRDS(plots, file = "plots.rds")
    }

##################################################################
########################## PLOTTTING #############################
##################################################################

Creating yearly plots...
Yearly plots created.
------------------------------------------------------------------
Creating monthly plots for SG000061612...
Creating monthly plots for AGE00147716...
Creating monthly plots for AGE00147718...
Creating monthly plots for AGE00147708...
Creating monthly plots for AGE00147719...
Creating monthly plots for AYM00089034...
Creating monthly plots for AYM00089512...
Creating monthly plots for AYM00089606...
Creating monthly plots for AYM00089050...
Creating monthly plots for AYM00089004...
Creating monthly plots for CE000434730...
Creating monthly plots for UZM00038457...
Creating monthly plots for KZ000035700...
Creating monthly plots for TX000038763...
Creating monthly plots for TX000038895...
Creating monthly plots for ASN00094029...
Creating monthly plots for ASN00026026...
Creating monthly plots for ASN00023000...
Creating monthly plots for ASN00038003...
Creating monthly plots for ASN00031010...
Creating monthly plots for UK000056225...
Creating monthly plots for GM000004204...
Creating monthly plots for BE000006447...
Creating monthly plots for GME00127462...
Creating monthly plots for AU000005901...
Creating monthly plots for USW00014838...
Creating monthly plots for CA006139520...
Creating monthly plots for CA006150689...
Creating monthly plots for USC00144559...
Creating monthly plots for USW00094728...
Creating monthly plots for RQC00667292...
Creating monthly plots for RQC00662801...
Creating monthly plots for RQC00665097...
Creating monthly plots for RQC00665807...
Creating monthly plots for RQC00664702...
------------------------------------------------------------------

Print Yearly Plots

    print(plots$Historical$Yearly$TMAX)
NULL
    print(plots$Historical$Yearly$TMIN)
NULL

Print Monthly Plots

    for (month in seq(1, length(plots$Forecasted$Monthly))) {
        print(plots$Forecasted$Monthly[[month]]$TMAX)
        print(plots$Forecasted$Monthly[[month]]$TMIN)
    }

World map

# Wybrany miesiÄ…c i rok
selected_month <-4
selected_year <- 2020
# Przetwarzanie danych na listy
lon <- lapply(analysed_data, function(x) x$Informations$Lon)
lat <- lapply(analysed_data, function(x) x$Informations$Lat)
station_ID <- lapply(analysed_data, function(x) x$Informations$Station_ID)
temperature <- lapply(analysed_data, function(x) x$Measurements$MeasurementValue)

# Rysowanie mapy
world_map <- createWorldMap(lat, lon, station_ID, temperature)
world_map
Ostrzeżenie: 'scattergeo' objects don't have these attributes: 'colorbar'
Valid attributes include:
'connectgaps', 'customdata', 'customdatasrc', 'featureidkey', 'fill', 'fillcolor', 'geo', 'geojson', 'hoverinfo', 'hoverinfosrc', 'hoverlabel', 'hovertemplate', 'hovertemplatesrc', 'hovertext', 'hovertextsrc', 'ids', 'idssrc', 'lat', 'latsrc', 'legendgroup', 'legendgrouptitle', 'legendrank', 'line', 'locationmode', 'locations', 'locationssrc', 'lon', 'lonsrc', 'marker', 'meta', 'metasrc', 'mode', 'name', 'opacity', 'selected', 'selectedpoints', 'showlegend', 'stream', 'text', 'textfont', 'textposition', 'textpositionsrc', 'textsrc', 'texttemplate', 'texttemplatesrc', 'transforms', 'type', 'uid', 'uirevision', 'unselected', 'visible', 'key', 'set', 'frame', 'transforms', '_isNestedKey', '_isSimpleKey', '_isGraticule', '_bbox'
Ostrzeżenie: 'scattergeo' objects don't have these attributes: 'colorbar'
Valid attributes include:
'connectgaps', 'customdata', 'customdatasrc', 'featureidkey', 'fill', 'fillcolor', 'geo', 'geojson', 'hoverinfo', 'hoverinfosrc', 'hoverlabel', 'hovertemplate', 'hovertemplatesrc', 'hovertext', 'hovertextsrc', 'ids', 'idssrc', 'lat', 'latsrc', 'legendgroup', 'legendgrouptitle', 'legendrank', 'line', 'locationmode', 'locations', 'locationssrc', 'lon', 'lonsrc', 'marker', 'meta', 'metasrc', 'mode', 'name', 'opacity', 'selected', 'selectedpoints', 'showlegend', 'stream', 'text', 'textfont', 'textposition', 'textpositionsrc', 'textsrc', 'texttemplate', 'texttemplatesrc', 'transforms', 'type', 'uid', 'uirevision', 'unselected', 'visible', 'key', 'set', 'frame', 'transforms', '_isNestedKey', '_isSimpleKey', '_isGraticule', '_bbox'
LS0tDQp0aXRsZTogIldlYXRoZXIgZm9yZWNhc3RzIg0Kb3V0cHV0OiBodG1sX25vdGVib29rDQotLS0NCmBgYHtyfQ0Kc2F2ZVJEUyhhbmFseXNlZF9kYXRhLCBmaWxlID0gImFuYWx5c2VkX2RhdGEucmRzIikNCmBgYA0KDQoNCg0KU2V0IFdvcmtpbmcgRGlyZWN0b3J5LCBMb2FkIENvbmZpZyBhbmQgU291cmNlIEZpbGVzDQpgYGB7cn0NCg0KICAgICNzZXR3ZCgifi9yX3Byb2plY3QvQ2xpZW50IikNCiAgICBzZXR3ZCgiQzovVXNlcnMvS2Fyb2xpbmEvRGVza3RvcC9zZW1lc3RyIFZJSS9Qcm9ncmFtb3dhbmllIHcgUi9Qcm9qZWt0L3JfcHJvamVjdC9DbGllbnQvUnByb2pla3QiKQ0KICAgIHNvdXJjZShmaWxlID0gImNvbmZpZy5SIikNCiAgICBzb3VyY2UoZmlsZSA9ICJhcnJhbmdlbWVudC5SIikNCiAgICBzb3VyY2UoZmlsZSA9ICJnZW9sb2NhdGlvbi5SIikNCiAgICBzb3VyY2UoZmlsZSA9ICJmb3JlY2FzdGluZy5SIikNCiAgICBzb3VyY2UoZmlsZSA9ICJwcmVwYXJhdGlvbnMuUiIpDQogICAgc291cmNlKGZpbGUgPSAicGxvdHMuUiIpDQogICAgc291cmNlKGZpbGUgPSAibWFwLlIiKQ0KDQogICAgY29uZmlnIDwtIGxvYWRfY29uZmlnKCkNCmBgYA0KDQpUcnkgdG8gbG9hZCBkYXRhIGZyb20gZmlsZSwgaWYgbm90IGF2YWlsYWJsZSwgZG93bmxvYWQgYW5kIHByZXBhcmUgZGF0YQ0KYGBge3J9DQogICAgaWYgKGZpbGUuZXhpc3RzKCJhbmFseXNlZF9kYXRhLnJkcyIpKSB7DQogICAgICAgIGFuYWx5c2VkX2RhdGEgPC0gcmVhZFJEUygiYW5hbHlzZWRfZGF0YS5yZHMiKQ0KICAgIH0gZWxzZSB7DQogICAgICAgIHByZXNlbGVjdGVkX2RhdGEgICAgPC0gcHJlc2VsZWN0X2RhdGEoKTsNCiAgICAgICAgcHJlcGFyZWRfZGF0YSAgICAgICA8LSBkb3dubG9hZF9hbmRfcHJlcGFyZV9kYXRhKHByZXNlbGVjdGVkX2RhdGEpDQogICAgICAgIGJlc3RfZm9yZWNhc3RfbW9kZWwgPC0gZXN0aW1hdGVfYmVzdF9mb3JlY2FzdF9tb2RlbChwcmVwYXJlZF9kYXRhKQ0KICAgICAgICBhbmFseXNlZF9kYXRhICAgICAgIDwtIGZvcmVjYXN0X2RhdGEocHJlcGFyZWRfZGF0YSwgYmVzdF9mb3JlY2FzdF9tb2RlbCkNCiAgICAgICAgc2F2ZVJEUyhhbmFseXNlZF9kYXRhLCBmaWxlID0gImFuYWx5c2VkX2RhdGEucmRzIikNCiAgICB9DQpgYGANCg0KVHJ5IHRvIGxvYWQgcGxvdHMgZnJvbSBmaWxlLCBpZiBub3QgYXZhaWxhYmxlLCBjcmVhdGUgcGxvdHMNCmBgYHtyfQ0KICAgIGlmIChmaWxlLmV4aXN0cygicGxvdHMucmRzIikpIHsNCiAgICAgICAgcGxvdHMgPC0gcmVhZFJEUygicGxvdHMucmRzIikNCiAgICB9IGVsc2Ugew0KICAgICAgICBwbG90cyA8LSBjcmVhdGVfcGxvdHMoYW5hbHlzZWRfZGF0YSkNCiAgICAgICAgc2F2ZVJEUyhwbG90cywgZmlsZSA9ICJwbG90cy5yZHMiKQ0KICAgIH0NCmBgYA0KDQpQcmludCBZZWFybHkgUGxvdHMNCmBgYHtyfQ0KICAgIHByaW50KHBsb3RzJEhpc3RvcmljYWwkWWVhcmx5JFRNQVgpDQogICAgcHJpbnQocGxvdHMkSGlzdG9yaWNhbCRZZWFybHkkVE1JTikNCmBgYA0KDQpQcmludCBNb250aGx5IFBsb3RzDQpgYGB7cn0NCiAgICBmb3IgKG1vbnRoIGluIHNlcSgxLCBsZW5ndGgocGxvdHMkRm9yZWNhc3RlZCRNb250aGx5KSkpIHsNCiAgICAgICAgcHJpbnQocGxvdHMkRm9yZWNhc3RlZCRNb250aGx5W1ttb250aF1dJFRNQVgpDQogICAgICAgIHByaW50KHBsb3RzJEZvcmVjYXN0ZWQkTW9udGhseVtbbW9udGhdXSRUTUlOKQ0KICAgIH0NCmBgYA0KDQoNCg0KV29ybGQgbWFwDQpgYGB7cn0NCiMgV3licmFueSBtaWVzacSFYyBpIHJvaw0Kc2VsZWN0ZWRfbW9udGggPC00DQpzZWxlY3RlZF95ZWFyIDwtIDIwMjANCiMgUHJ6ZXR3YXJ6YW5pZSBkYW55Y2ggbmEgbGlzdHkNCmxvbiA8LSBsYXBwbHkoYW5hbHlzZWRfZGF0YSwgZnVuY3Rpb24oeCkgeCRJbmZvcm1hdGlvbnMkTG9uKQ0KbGF0IDwtIGxhcHBseShhbmFseXNlZF9kYXRhLCBmdW5jdGlvbih4KSB4JEluZm9ybWF0aW9ucyRMYXQpDQpzdGF0aW9uX0lEIDwtIGxhcHBseShhbmFseXNlZF9kYXRhLCBmdW5jdGlvbih4KSB4JEluZm9ybWF0aW9ucyRTdGF0aW9uX0lEKQ0KdGVtcGVyYXR1cmUgPC0gbGFwcGx5KGFuYWx5c2VkX2RhdGEsIGZ1bmN0aW9uKHgpIHgkTWVhc3VyZW1lbnRzJE1lYXN1cmVtZW50VmFsdWUpDQoNCiMgUnlzb3dhbmllIG1hcHkNCndvcmxkX21hcCA8LSBjcmVhdGVXb3JsZE1hcChsYXQsIGxvbiwgc3RhdGlvbl9JRCwgdGVtcGVyYXR1cmUpDQp3b3JsZF9tYXANCmBgYA0K